<script>
	import config from '@/config/api.js'
	export default {
		name: 'App',
		onLaunch: function() {
			console.log('App Launch')
			
			// 微信登录获取 openid
			wx.login({
				success: (res) => {
					if (res.code) {
						wx.request({
							url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxea3122e48bac0f88&secret=0266cfe7fe3fa6baf4b801d7b323a679&js_code=' + res.code + '&grant_type=authorization_code',
							success: async (result) => {
								if (result.data && result.data.openid) {
									// 存储 openid 到本地
									uni.setStorageSync('openid', result.data.openid);
									
									// 检查用户是否存在，不存在则创建
									await this.checkAndCreateUser(result.data.openid);
									
								}
							}
						});
					}
				}
			});
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		},
		methods: {
			// 检查用户是否存在，不存在则创建
			async checkAndCreateUser(openid) {
				try {
					// 使用 GET 请求检查用户是否存在
					const checkRes = await uni.request({
						url: config.baseUrl + config.api.users + '?openid=' + openid,
						method: 'GET'
					});
					
					// 如果用户不存在（404），则创建新用户
					if (checkRes.statusCode === 404) {
						// 获取微信用户信息
						
						const createRes = await uni.request({
							url: config.baseUrl + config.api.users,
							method: 'POST',
							data: {
								openid: openid,
								nickname:  '用户' + openid.substr(openid.length - 4),
								avatar: '/static/logo.png',
								// 可以添加其他用户信息字段
								created_at: new Date().toISOString()
							}
						});
						
						if (createRes.statusCode === 200 || createRes.statusCode === 201) {
							console.log('用户创建成功:', createRes.data.data);
							// 将用户信息存储到全局
							uni.setStorageSync('userInfo', createRes.data.data);
						} else {
							console.error('创建用户失败:', createRes);
						}
					} else if (checkRes.statusCode === 200) {
						// 用户已存在，将用户信息存储到全局
						uni.setStorageSync('userInfo', checkRes.data.data);
						console.log('用户获取成功:', checkRes.data.data);
					} else {
						console.error('检查用户失败:', checkRes);
					}
				} catch (error) {
					console.error('检查或创建用户时发生错误:', error);
				}
			}
		}
	}
</script>

<style>
	/* 每个页面公共css */
	
	/* 全局样式优化 */
	page {
		background-color: #f8f8f8;
		font-size: 28rpx;
		color: #333;
	}
	
	/* 统一按钮样式 */
	button {
		border-radius: 10rpx;
		font-size: 32rpx;
	}
	
	/* 统一输入框样式 */
	input, textarea {
		border: 1rpx solid #eee;
		border-radius: 10rpx;
		padding: 20rpx;
		font-size: 28rpx;
	}
	
	/* 统一分隔线样式 */
	.divider {
		height: 1rpx;
		background-color: #eee;
		margin: 20rpx 0;
	}
	
	/* 统一卡片样式 */
	.card {
		background-color: white;
		border-radius: 10rpx;
		padding: 30rpx;
		margin: 20rpx;
		box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);
	}
	
	/* 统一标题样式 */
	.title {
		font-size: 36rpx;
		font-weight: bold;
		color: #333;
		margin-bottom: 20rpx;
	}
	
	/* 统一描述文字样式 */
	.desc {
		font-size: 26rpx;
		color: #999;
	}
</style>